#ifndef _WORDLIST_H
#define _WORDLIST_H

#include "CPstring.h"

// WordList Abstract base Class for a dictionary
//
// operations
//
// const string * AddWord(const string & word)
//       -- Adds word to dictionary, return pointer to word
//
// const string * FindWord(const string & word)
//       -- returns pointer to word in dictionary
//          return 0 if word not in dictionary

class ostream;

class WordList
{
  public:
    virtual ~WordList() {};                    // destructor implemented
    virtual 
      const string * AddWord(const string & word) = 0;  
    virtual
      const string * FindWord(const string & word) const = 0;
    virtual
      void Print(ostream & os) const = 0;
};

#endif
